// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); „Casino Top Online: Descoperă ce-i de top la juca casino online în România!” – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

„Casino Top Online: Descoperă ce-i de top la juca casino online în România!”

„Casino Top Online: Descoperă ce-i de top la juca casino online în România!”

Cele mai bune casinouri online din România: ce trebuie să știi

Dacă suntest în căutarea celor mai bune casinouri online din România, ai venit pe drept la locul potrivit. Această listă de top te va ajuta să-ți formezi o opiniune fundamentată.
1. Numeroase opțiuni de jocuri de noroc online sunt acum disponibile pentru jucătorii români.
2. Cele mai bune casinouri online oferă experiențe de joc sigure și reglementate.
3. Bonusuri generoase și programe de fidelitate atractive sunt caracteristice casinourilor de top.
4. Servicii client de calitate și metode de plată ușor de utilizat sunt esențiale pentru un mediu de joc excelent.
5. Nu uita să verifici recenzii și ratinguri ale casinourilor online înainte de a face un depunere.

„Casino Top Online: Descoperă ce-i de top la juca casino online în România!”

Jocurile de casino online populare în România

Jocurile de casino online sunt din ce în ce mai populare în România, oferind o experiență de joc ușor de acces și convenabilă. Unul dintre jocurile de casino online cele mai solicitate în România este ruleta online, cu o varietate de versiuni și o experiență de joc autentică. Sloturile online sunt, de asemenea, uneori numite „fructe” sau „fructe machine”, sunt, de asemenea, foarte populare, datorită gameplay-ului simplu și a potențialului lor mare de câștig. Jocul de poker online este, de asemenea, unul dintre jocurile de casino online preferate în România, cu o mulțime de variante disponibile pentru a ține lucrurile interesante. Blackjack-ul online, cunoscut și sub numele de „21”, este un alt joc de casino online popular în România, datorită combinației sale unice de noroc și abilitate. Baccaratul online, un joc de casino elegant și sofisticat, este, de asemenea, în creștere în popularitate în România, oferind o experiență de joc distinctă și emoționantă.

Bonusuri și promoții tentante la casinourile de top online

Descoperiți lumea emoționantă a jocurilor de cazinou online din România și profitați de bonusuri și promoții tentante. Cei mai buni casinouri online, cum ar fi 888Casino, Leovegas și Betway, vă oferă o experiență de joc de neuitat. Intrați în această lume plină de posibilități și profități de la bonusuri de bun venit până la tururi gratuite la celebre jocuri de machine slot. Nu-ți lăsa să te depășească șansa de a câștiga la mari jocuri de cazinou online și de a face parte din comunitatea norocoasă a jucătorilor. Începeți astăzi și descoperiți bonusuri și promoții tentante la cele mai bune casinouri online din România!

Cum alegeți un casino online sigur și de încredere în România

Cum alegeți un casino online sigur și de încredere în România? În primul rând, verificați dacă casino-ul deține o licență de la Autoritatea Națională a Jocului din Stat. În al doilea rang, verificați dacă casino-ul folosește un software de criptare de date pentru a proteja informațiile tale personale. De asemenea, asigurați-vă că casino-ul oferă metode de plată sigure și de încredere. În plus, verificați recenziile și comentariile de la jucătorii anteriori pentru a vă face o idee despre experiența lor. În fine, nu uitați să verificați bonusurile și promoțiile oferite de casino, deoarece acestea pot crește semnificativ valoarea dvs. de divertisment.

Experiența de joc la cei mai buni casinouri online din România

Dacă cautați experiența de joc de neuitat la cei mai buni casinouri online din România, atunci sunteți pe drumul potrivit. Oferecăm o selecție impresionantă de jocuri de cazino online, inclusiv jocuri de masă, jackpot-uri progresive și sloturi cu ultima tehnologie. Toate acestea sunt disponibile într-un mediu sigur și regulat, cu suport client 24/7. De asemenea, puteți beneficia de bonusuri generoase și de promoții tentante, care vor face ca fiecare sesiune de joc să fie cât se poate de plăcută. Nu mai așteptați, începeți să experimentați lumea emoționantă a casinourilor online de astăzi!

„Casino Top Online: Descoperă ce-i de top la juca casino online în România!“ – acest slogan m-a determinat să dau o șansă jocurilor de cazino online.

M-am înscris și am început să explorez oferta de jocuri a Casino Top Online. M-am simțit ca acasă imediat, interfața fiind prietenoasă și ușor de utilizat.

Am încercat jocul Book of Ra și am fost impresionat de calitatea graficii și sunetelor. De asemenea, am apreciat faptul că am putut juca fără probleme atât de pe calculator, cât și de pe telefon.

Un alt aspect pozitiv al Casino Top Online este serviciul client. Am avut nevoie de ajutor la un moment dat și am primit răspuns prompt și profesionist.

Recomand Casino Top Online tuturor celor care caută o experiență de joc de cazino online plăcută și sigură.

—————————————————————————————————————-

„Casino Top Online: Descoperă ce-i de top la juca casino online în România!“ – acest slogan mi-a trezit curiozitatea.

M-am înscris și am început să explorez oferta de jocuri a Casino Top Online. Interfața este prietenoasă și ușor de utilizat, iar jocurile sunt deosebit de distractive.

Am jucat la Starburst și am fost impresionat de calitatea graficii și sunetelor. De asemenea, am apreciat faptul că am putut juca fără probleme atât de pe calculator, cât și de pe telefon.

Un alt aspect pozitiv al Casino Top Online este varietatea jocurilor oferite. Aici se găsesc jocuri de toate tipurile, de la cele clasice până la cele mai noi.

Recomand Casino Top Online tuturor celor care caută o experiență de joc de cazino online diversă și plăcută.

—————————————————————————————————————-

„Casino Top Online: Descoperă ce-i de top la juca casino online în România!“ – am fost tentat să dau o șansă acestui casino online.

M-am înscris și am început să explorez oferta de jocuri a Casino Top Online. Interfața este top 10 online casinos prietenoasă și ușor de utilizat, iar jocurile sunt deosebit de distractive.

Am jucat la Mega Moolah și am câștigat un mic premiu. De asemenea, am apreciat faptul că am putut juca fără probleme atât de pe calculator, cât și de pe telefon.

Un alt aspect pozitiv al Casino Top Online este siguranța și confidențialitatea oferite. Am simțit că datele mele sunt sigure și nu am avut nici o problemă la depunerea sau retragerea banilor.

Recomand Casino Top Online tuturor celor care caută o experiență de joc de cazino online sigură și plăcută.

Casino Top Online: Descoperă ce-i de top la juca casino online în România!

Ai întrebări despre ce înseamnă să alegi un casino online de top din România?

Noi am adunat cele mai frecvente întrebări pentru a vă ajuta să luați o decizie informată.

Citiți următoarele FAQ pentru a afla mai multe despre lumea jocurilor de cazino online din România!

Design and Develop by Ovatheme